The field of computer technology advances at almost a lightening pace. Equipment rarely has more than a five-year life. In most instances, the life is only two to three years. In some instances, it is possible to replace various pieces of the equipment. In other instances, all that is required is an upgrade of the firmware. The problem arises in that system up time is required to be approximately one hundred percent in today's world of the Internet. Computer equipment owners demand near perfect operation of their equipment. Owners talk in terms of anything less than 99.999% availability as being unacceptable.
Shutting down a computer system can cost a company thousands and thousands of dollars for each hour the system remains unavailable. Upgrades of computer equipment usually result in some downtime of the processing. This has resulted in technology assistants upgrading equipment at odd hours of the morning. This results in additional costs to the company as well. Even this has become difficult due to different time zones and globalization.
Firmware upgrades on larger computer systems are needed to add additional features or fix reoccurring problems or bugs. In light of the financial consequences of shutting down a system, there is a need to upgrade firmware without disrupting the system operation. Prior systems involve halting the realtime system, while the upgrade in code is performed. This is not ideal for the aforementioned reasons. Furthermore, the owner of the equipment is more reluctant to perform upgrades or fix bugs unless absolutely necessary.
Accordingly, it is desirable to provide an apparatus and method that enables the owner of computer systems to upgrade their firmware to add new features or fix firmware bugs without any system down time. The computer system would run or operate in real time and continue to process requests.